Computer operating systems have evolved significantly in recent years. Typically, these systems have a shell that provides a graphical user interface (GUI) to an end-user. The shell consists of one or a combination of software components that provide direct communication between the user and the operating system. Speed improvements in computer hardware, e.g., memory, hard drives, processors, graphics cards, system buses, and the like, have enabled richer GUIs that are drastically easier for users to comprehend. Accompanying hardware price reductions have made computer systems more affordable, enabling broad adoption of computers as productivity tools and multimedia systems. GUIs have allowed users who may have been unschooled or unfamiliar with computers to quickly and intuitively grasp the meaning of desktops, icons, windows, and applications, and how the user can interact with each.
The desktop illustrated in FIG. 2 has become the standard graphical metaphor for modern GUIs. The interface is designed to model the real world activity of working at a desk. The desktop typically occupies the entire surface of a single display device, or may span multiple display devices, and hosts subordinate user interface objects such as icons, menus, cursors and windows. The desktop serves as a base work area, where multiple documents and applications can sit open.
An operating system, such as Microsoft Windows XP® brand or Windows 2000® brand operating systems, typically comprise a graphical method for launching new software applications within its GUI. FIG. 2 illustrates a well-known example of how this may be accomplished in the Windows XP operating system. The screenshot 200 displays desktop 201, bordered on one side by taskbar 203, and featuring open window 202. When a user desires to launch a new application, the user moves a pointer (also referred to as a cursor) controlled by a mouse, trackball, or the like and clicks on the appropriate menu item in the Start Menu 204, which is itself first invoked by clicking on the Start button 205. The Start button 205 is generally located in a fixed location on the taskbar 203. A user may adjust the location of the taskbar 203, but once in place, the Start button 205 becomes a constant and familiar starting point for the user to launch new applications.
When a user clicks on the Start button 205 in FIG. 2, the Start Menu 204 appears as a floating list on top of the currently open window 202 and desktop 201. A subsequent submenu 206 of the Start Menu 204, here triggered when the user clicks on or hovers over the “Programs” list item, appears on top of and to the right of the original Start Menu in order to show more choices.
Program launching menus (e.g., the Start Menu) that use pop-up menus to display all programs, such as is illustrated in FIG. 2, have previously been limited in their organization and the functions that a user can perform. It can be difficult for users to navigate through very long lists with deep folder structures. Users often become frustrated when trying to find a desired application or document in the program launch menu because the information in a program launch menu is often cluttered and unorganized, and users often accidentally open or close folders as they are navigating through large cluttered launch menus. In addition, large pop-up menus often appear unattractive to users and do not appear to be designed to fit within a program launch menu very well. While a user can manually organize his or her program launch menu to minimize at least some of the clutter, this can be tedious and time consuming, and not all users are of an experience level to know how to organize their program launch menus.
One organizational feature that has been used in program launch menus is to provide a list of shortcuts to most frequently used (MFU) or most recently used (MRU) items. However, MFU and MRU lists do not always accurately reflect those applications and/or documents currently desired by a user. A MFU list, e.g., will not necessarily display a recently used document or application, and a MRU list will not necessarily display a frequently used document or application.
Thus, it would be an advancement in the art to provide a program launch menu in an operating system, where the program launch menu provided more intuitive organization and provided features which allow a user to more efficiently find a desired application or document.